// IOInfoSW.h : header file
//
//	\203\132\201\133\203\165\201\105\203\215\201\133\203\150\212\326\230\101\201\151\203\132\201\133\203\165\203\146\201\133\203\136\212\310\210\325\217\356\225\361\221\111\221\360\201\152
//
/////////////////////////////////////////////////////////////////////////////
// CIOSimpleInfoWnd
#ifndef __IO_SIMPLE_INFO__
#define __IO_SIMPLE_INFO__

#include "MsgWnd.h"
#include "Dialog.h"

#define	IO_SINFO_FILE_NUM		(2)
#define	IO_SINFO_CTRL_NUM		(3)

// \225\252\202\251\202\350\202\342\202\267\202\242\202\346\202\244\202\311\215\304\222\350\213\140
#define	IDC_IOS_SLOT_TEXT	IDC_STATIC1
#define	IDC_IOS_DATA1_TEXT	IDC_STATIC2
#define	IDC_IOS_DATA2_TEXT	IDC_STATIC3

class CIOSimpleInfoWnd : public CDialog
{
	DECLARE_DYNAMIC(CIOSimpleInfoWnd)

protected:
	static CtrlLayout ctrlLayout[IO_SINFO_CTRL_NUM];
	static DialogLayout Layout;

	UINT		m_uType;
	char*		m_pszMessage;
	CMsgDlg		m_MsgDlg;

	int			m_iSlotNo;
	UINT		m_unDataID;
	int			m_iMenuNum;
	char*		m_pszMenuText[IO_SINFO_FILE_NUM];
	BOOL		m_bCanSelect[IO_SINFO_FILE_NUM];
	char		m_szSlotText[16];

	CTextCtrl		m_Text;
#if	defined(_NOEMBEDED_CLASSARRAY)	//\203\122\201\133\203\150\203\105\203\110\203\212\203\101\202\314\203\157\203\117\211\361\224\360
	CTextFlatBtn	m_DataText0;
	CTextFlatBtn	m_DataText1;
	CTextFlatBtn*	m_DataText;
#else	// (_NOEMBEDED_CLASSARRAY)
	CTextFlatBtn	m_DataText[IO_SINFO_FILE_NUM];
#endif	// (_NOEMBEDED_CLASSARRAY)

public:
	CIOSimpleInfoWnd();
	virtual	~CIOSimpleInfoWnd();

protected:
	virtual BOOL OnInitDialog(CVisualObjectList* pVOL);
	UINT	IndexToCtrlID(int iIndex);
	int		CtrlIDToIndex(UINT uID);

public:
	void	SetSlotNo(int iNo)			{ m_iSlotNo = iNo; }	// \202\120\203\111\203\212\203\127\203\223
	void	SetDataIdx(UINT unCtrlID)	{ m_unDataID = unCtrlID; }
	void	SetMenuNum(int iNum)		{ m_iMenuNum = iNum; }
	void	SetMenuText(INT iID , char* pszText, BOOL bCanSelect)
			{
				ASSERT(iID >= 0 && iID < IO_SINFO_FILE_NUM);
				m_pszMenuText[iID] = pszText;
				m_bCanSelect[iID] = bCanSelect;
			}

	void	SetSlotText(void);
	void	DestroyMsgWnd(void);
	BOOL	Create(CWnd* pParentWnd, char* pszMessage, UINT uType = MSS_KEY);
	CDIB*	OnGetDibPtr(UINT unCtrlID);

	virtual void PushPad(int nPadID);		// \203\160\203\142\203\150\202\252\211\237\202\263\202\352\202\275
	virtual void ReleasePad(int nPadID);	// \203\160\203\142\203\150\202\252\225\372\202\263\202\352\202\275

protected:
	virtual void PushKeyUp(void);			// \217\343\203\160\203\142\203\150\202\252\211\237\202\263\202\352\202\275
	virtual void PushKeyDown(void);			// \211\272\203\160\203\142\203\150\202\252\211\237\202\263\202\352\202\275
	virtual void PushKeyLeft(void);			// \215\266\203\160\203\142\203\150\202\252\211\237\202\263\202\352\202\275
	virtual void PushKeyRight(void);		// \211\105\203\160\203\142\203\150\202\252\211\237\202\263\202\352\202\275
	virtual void ReleaseKeyCircle(void);	// \201\233\203\173\203\136\203\223\202\252\225\372\202\263\202\352\202\275
	virtual void ReleaseKeyX(void);			// \201\176\203\173\203\136\203\223\202\252\225\372\202\263\202\352\202\275

protected:
	virtual void OnOK(void);
	virtual void OnCancel(void);

protected:
	//{{AFX_MSG(CIOSimpleInfoWnd)
#if	!defined(_MMF_MUSTBESTATIC)
	afx_msg void OnDestroy();
	afx_msg LRESULT OnKickIdle(WPARAM wParam, LPARAM lParam);
#else
	afx_msg void OnDestroy(CIOSimpleInfoWnd* pThis);
	afx_msg LRESULT OnKickIdle(CIOSimpleInfoWnd*, WPARAM wParam, LPARAM lParam);
#endif
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

#endif	//__IO_SIMPLE_INFO__
/////////////////////////////////////////////////////////////////////////////